<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns:u="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:t="http://com.ss.stockmanager/jsf"
	xmlns:p="http://primefaces.org/ui" xmlns="http://www.w3.org/1999/xhtml">

<body>
	<u:composition template="/pages/layout/pageLayout.xhtml">
		<u:define name="body">
			<h:form id="form">
				<p:panel id="panelFiltro" header="#{msgs.common_filtros}"
					rendered="#{!tarifarioController.addEdit}">
					<h:panelGrid columns="5">
						<h:outputText value="#{msgs.admTarifario_tipo}" />
						<p:selectOneMenu
							value="#{tarifarioController.query.tipoTarifario}"
							converter="tipoTarifarioConverter">
							<f:selectItem itemLabel="#{msgs.common_todos}" itemValue="" />
							<f:selectItems value="#{tarifarioController.listaTipoTarifario}" />
						</p:selectOneMenu>
						<h:outputText value="#{msgs.admTarifario_proveedor}" />
						<p:selectOneMenu value="#{tarifarioController.query.proveedorID}">
							<f:selectItem itemLabel="Seleccione" itemValue="" />
							<f:selectItems value="#{tarifarioController.listaProveedor}"
								var="proveedor" itemValue="#{proveedor.id}"
								itemLabel="#{proveedor.nombre}" />
							<f:ajax execute="@this" />
						</p:selectOneMenu>

						<p:commandButton value="Consultar"
							actionListener="#{tarifarioController.query}" update="dataTable">
						</p:commandButton>
					</h:panelGrid>
				</p:panel>

				<h:outputText value="&#160;" />

				<p:growl id="messages" life="5000" />
				<p:dataTable id="dataTable" var="model"
					value="#{tarifarioController.lazyDM}" paginator="true" rows="10"
					paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
					rowsPerPageTemplate="10,15,20"
					rendered="#{!tarifarioController.addEdit}"
					emptyMessage="No se encontraron registros" dynamic="true"
					lazy="true">

					<f:facet name="header">
						<h:outputText value="#{msgs.admTarifario_title}" />
					</f:facet>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admTarifario_tipo}" />
						</f:facet>
						<h:outputText value="#{model.tipoTarifario}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admTarifario_fechaDesde}" />
						</f:facet>
						<h:outputText value="#{model.fechaDesde}">
							<f:convertDateTime pattern="#{msgs.common_inputDateFormat}"
								timeZone="#{msgs.common_timeZone}" />
						</h:outputText>
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admTarifario_fechaHasta}" />
						</f:facet>
						<h:outputText value="#{model.fechaHasta}">
							<f:convertDateTime pattern="#{msgs.common_inputDateFormat}"
								timeZone="#{msgs.common_timeZone}" />
						</h:outputText>
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admTarifario_proveedor}" />
						</f:facet>
						<h:outputText value="#{model.proveedor.nombre}" />
					</p:column>

					<p:column style="width:120px">
						<f:facet name="header">
							<h:outputText value="#{msgs.common_opciones}" />
						</f:facet>
						<h:panelGrid columns="3">
							<p:commandLink actionListener="#{tarifarioController.copy}"
								update=":form">
								<h:graphicImage url="/resources/images/copy.gif" title="Copiar"
									style="border:0px" />
							</p:commandLink>
							<p:commandLink actionListener="#{tarifarioController.edit}"
								update=":form">
								<h:graphicImage url="/resources/images/edit.gif"
									title="Modificar" style="border:0px" />
							</p:commandLink>
							<h:commandLink actionListener="#{tarifarioController.delete}"
								onclick="return confirm('¿Está seguro de eliminar el registro?');">
								<h:graphicImage url="/resources/images/delete.gif"
									title="Eliminar" style="border:0px" />
							</h:commandLink>
						</h:panelGrid>
					</p:column>

					<f:facet name="footer">
						<p:commandButton value="#{msgs.common_agregar}"
							actionListener="#{tarifarioController.add}" update=":form" />
					</f:facet>
				</p:dataTable>


				<h:panelGrid id="panel" columns="1"
					rendered="#{tarifarioController.addEdit}">

					<p:tabView id="tabView" widgetVar="tabView">
						<p:tab title="#{msgs.admTarifario_datosPrincipales}">
							<p:focus for="tipoTarifarioSOM" />
							<p:panel header="#{msgs.admTarifario_datosPrincipales}">
								<h:panelGrid columns="3">
									<h:outputText value="#{msgs.admTarifario_tipo}" />
									<p:selectOneMenu id="tipoTarifarioSOM"
										value="#{tarifarioController.view.tipoTarifario}"
										converter="tipoTarifarioConverter">
										<f:selectItems
											value="#{tarifarioController.listaTipoTarifario}" />
										<p:ajax event="change"
											update="panelProveedorOT panelProveedorSOM"
											listener="#{tarifarioController.tipoTarifarioListener}" />
									</p:selectOneMenu>
									<h:outputText value="" />

									<h:panelGrid id="panelProveedorOT" style="width:100%;">
										<h:outputText id="proveedorOT"
											value="#{msgs.admTarifario_proveedor}"
											rendered="#{tarifarioController.proveedor}" />
									</h:panelGrid>
									<h:panelGrid id="panelProveedorSOM" style="width:100%;">
										<p:selectOneMenu id="proveedorSOM"
											value="#{tarifarioController.view.proveedor.id}"
											rendered="#{tarifarioController.proveedor}">
											<f:selectItems value="#{tarifarioController.listaProveedor}"
												var="proveedor" itemValue="#{proveedor.id}"
												itemLabel="#{proveedor.nombre}" />
											<f:ajax execute="@this" />
										</p:selectOneMenu>
									</h:panelGrid>

									<h:outputText value="" />

									<h:outputText value="#{msgs.admTarifario_fechaDesde}" />
									<p:calendar id="fechaDesdeC"
										value="#{tarifarioController.view.fechaDesde}" mode="popup"
										showOn="button" locale="es"
										pattern="#{msgs.common_inputDateFormat}"
										readOnlyInputText="false" navigator="true"
										yearRange="c-100:c+50"
										converterMessage="El formato de la fecha es incorrecto">
									</p:calendar>
									<h:message for="fechaDesdeC" />

									<h:outputText value="#{msgs.admTarifario_fechaHasta}" />
									<p:calendar id="fechaDesdeD"
										value="#{tarifarioController.view.fechaHasta}" mode="popup"
										showOn="button" locale="es"
										pattern="#{msgs.common_inputDateFormat}"
										readOnlyInputText="false" navigator="true"
										yearRange="c-100:c+50"
										converterMessage="El formato de la fecha es incorrecto">
									</p:calendar>
									<h:message for="fechaDesdeD" />

								</h:panelGrid>

							</p:panel>
						</p:tab>

						<p:tab title="#{msgs.admTarifario_productos}">

							<p:panel header="#{msgs.admTarifario_productos}">
								<p:dataTable id="listaProductoDT" var="producto"
									value="#{tarifarioController.listaProducto}"
									emptyMessage="No hay productos para mostrar"
									widgetVar="productosDataTable"
									filteredValue="#{tarifarioController.listaProductoPrecioFiltrado}"
									selection="#{tarifarioController.listaProductoSeleccionado}"
									selectionMode="multiple" rowKey="#{producto.id}"
									paginator="true" rows="20"
									paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
									rowsPerPageTemplate="10,15,20">

									<p:column align="center" filterBy="#{producto.detalle}"
										filterMatchMode="contains">
										<f:facet name="header">
											<h:outputText value="#{msgs.admTarifario_producto}" />
										</f:facet>
										<h:outputText value="#{producto.detalle}" />
									</p:column>

									<p:column align="center"
										filterBy="#{producto.familia.descripcion}"
										filterMatchMode="contains">
										<f:facet name="header">
											<h:outputText value="#{msgs.admTarifario_productoFamilia}" />
										</f:facet>
										<h:outputText value="#{producto.familia.descripcion}" />
									</p:column>

									<p:column align="center" filterBy="#{producto.codigoProducto}"
										filterMatchMode="contains">
										<f:facet name="header">
											<h:outputText value="#{msgs.admTarifario_productoCodigo}" />
										</f:facet>
										<h:outputText value="#{producto.codigoProducto}" />
									</p:column>

									<f:facet name="footer">
										<p:commandButton value="#{msgs.common_agregar}"
											actionListener="#{tarifarioController.addProducto}"
											update=":form:tabView:listaproductoPrecioDT,:form:messages,listaProductoDT"
											process="listaProductoDT">
										</p:commandButton>
									</f:facet>
								</p:dataTable>

							</p:panel>

							<p:panel header="#{msgs.admTarifario_productosSeleccionados}">
								<p:dataTable id="listaproductoPrecioDT" var="productoPrecio"
									value="#{tarifarioController.productoSeleccionadoDM}"
									emptyMessage="No hay productos seleccionados"
									widgetVar="productosCodigoDataTable" paginator="true" rows="20"
									paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
									rowsPerPageTemplate="10,15,20">

									<p:column align="center">
										<f:facet name="header">
											<h:outputText value="#{msgs.admTarifario_producto}" />
										</f:facet>
										<h:outputText value="#{productoPrecio.producto.detalle}" />
									</p:column>

									<p:column align="center">
										<f:facet name="header">
											<h:outputText value="#{msgs.admTarifario_productoFamilia}" />
										</f:facet>
										<h:outputText
											value="#{productoPrecio.producto.familia.descripcion}" />
									</p:column>

									<p:column align="center">
										<f:facet name="header">
											<h:outputText value="#{msgs.admTarifario_productoPrecio}" />
										</f:facet>
										<p:spinner id="precioS" value="#{productoPrecio.precio}"
											min="0" stepFactor="0.50" size="30">
										</p:spinner>
									</p:column>

									<p:column style="width:40px">
										<f:facet name="header">
											<h:outputText value="#{msgs.common_opciones}" />
										</f:facet>
										<h:panelGrid columns="3">
											<p:commandLink
												actionListener="#{tarifarioController.deleteProducto}"
												update="listaproductoPrecioDT,:form:messages"
												process="@this">
												<h:graphicImage url="/resources/images/delete.gif"
													title="#{msgs.common_eliminar}" style="border:0px" />
											</p:commandLink>
										</h:panelGrid>
									</p:column>
								</p:dataTable>

							</p:panel>

						</p:tab>

					</p:tabView>



					<!-- ================================================== -->
					<!-- Opciones											-->
					<!-- ================================================== -->
					<h:panelGrid columns="2">
						<p:commandButton value="#{msgs.common_guardar}"
							actionListener="#{tarifarioController.save}" update=":form">
						</p:commandButton>
						<p:commandButton value="#{msgs.common_volver}"
							actionListener="#{tarifarioController.cancel}" immediate="true"
							update=":form">
						</p:commandButton>
					</h:panelGrid>
				</h:panelGrid>
			</h:form>

		</u:define>
	</u:composition>
</body>
</html>